Server Upload Commands

Last update: March 2015

Command ID Function Name Description
0021h SendHTTPMessageByRegister(hostName, message) Sends an HTTP message by the Command Write Data.
0022h SendHTTPFileByRegister(hostName, appendFileName, message) Sends an HTTP message by the Command Write Data appending a file.
0023h SendHTTPSSLMessageByRegister(hostName, message) Sends an HTTP message by the Command Write Data via SSL.
0024h SendHTTPSSLFileByRegister(hostName, appendFileName, message) Sends an HTTP message by the Command Write Data via SSL appending a file.
0025h SendHTTPMessageByFile(hostName, messageFileName, headerRemoval) Sends an HTTP message stored in a message file.
0026h SendHTTPFileByFile(hostName, messageFileName, appendFileName, headerRemoval) Sends an HTTP message stored in a message file appending a data file.
0027h SendHTTPSSLMessageByFile(hostName, messageFileName, headerRemoval) Sends an HTTP message stored in a message file via SSL.
0028h SendHTTPSSLFileByFile(hostName, messageFileName, appendFileName, headerRemoval) Sends an HTTP message stored in a message file via SSL appending a data file.
0029h SetCertificate(certificate) Sets a root certificate for HTTPS connections.
002Ah SetCertificateByFile(certificateFileName) Sets a root certificate file for HTTPS connections.

SendHTTPMessageByRegister(hostName, message)

A Host requests to send an HTTP request message to the specified server. It is assumed that a Host prepares the HTTP request message containing the HTTP Request Line, the HTTP message header and the HTTP message body (optional in [HTTP]).

Then, a Card receives the HTTP response message containing the HTTP Response Line, the HTTP message header and the HTTP message body (optional in [HTTP]) from the server. See also 2.3 Server Upload.

Command ID

0021h

Arguments

Name Type Size Description
hostName ASCII character Variable The ‘hostName’ is the host name which the HTTP request message is sent to and the HTTP response message is received from. The port number "80" is used unless a proxy server is used. This value is not terminated by a null character.
message Binary data Variable The ‘message’ is the HTTP request message containing the HTTP Request Line, the HTTP message header and the HTTP message body.

Response

The received HTTP response message is available from the Response Data of the Command Response Data (See 2.2.2.3 iSDIO Command Response Data in [iSDIO]).

SendHTTPFileByRegister(hostName, appendFileName, message)

A Host requests to send an HTTP request message to the specified server, attaching the file (append file). It is assumed that a Host prepares the HTTP request message containing the HTTP Request Line, the HTTP message header and the HTTP message body (optional in [HTTP]), and in addition a Card replaces the pre-defined characters ("<!--WLANSDFILE-→" in [ISO 8859-1]) in the message with a specified file when the message is sent to the server.

Then, a Card receives the HTTP response message containing the HTTP Response Line, the HTTP message header and the HTTP message body (optional in [HTTP]) from the server. See also 2.3 Server Upload.

Command ID

0022h

Arguments

Name Type Size Description
hostName ASCII character Variable The ‘hostName’ is the host name which the HTTP request message is sent to and the HTTP response message is received from. The port number "80" is used unless a proxy server is used. This value is not terminated by a null character.
appendFileName ASCII character Variable The ‘appendFileName’ is the filename and the file path from the root directory of the append file in the NAND Memory module to be sent to a server. e.g. "/DCIM/100XXXXX/YYYY1234.JPG". This value is not terminated by a null character.
message Binary data Variable The ‘message’ is the HTTP request message containing the HTTP Request Line, the HTTP message header and the HTTP message body.

Response

The received HTTP response message is available from the Response Data of the Command Response Data (See 2.2.2.3 iSDIO Command Response Data in [iSDIO]).

SendHTTPSSLMessageByRegister(hostName, message)

The definition of this command is same as that of the "SendHTTPMessageByRegister(hostName, message)" except that this command requests a Card to send an HTTP request message via SSL. The port number "443" is used unless the proxy server is used.

It is recommended the root certificate should be set by the "SetCertificate" or "SetCertificateByFile" command before issuing this command. If this command is issued without setting the root certificate, a Card processes this command without the verification of the server certificate by the root certificate.

If the server certificate is invalid in the verification by the root certificate, the command processing will fail (i.e. Response Status becomes "85h: SSL certification error").

Command ID

0023h

Arguments

Name Type Size Description
hostName ASCII character Variable The ‘hostName’ is the host name which the HTTP request message is sent to and the HTTP response message is received from. The port number "80" is used unless a proxy server is used. This value is not terminated by a null character.
message Binary data Variable The ‘message’ is the HTTP request message containing the HTTP Request Line, the HTTP message header and the HTTP message body.

Response

None.

SendHTTPSSLFileByRegister(hostName, appendFileName, message)

The definition of this command is same as that of the "SendHTTPFileByRegister(hostName, appendFileName, message)" except that this command requests a Card to send an HTTP request message via SSL.

The port number "443" is used unless a proxy server is used. It is recommended the root certificate should be set by the "SetCertificate" or "SetCertificateByFile" command before issuing this command. If this command is issued without setting the root certificate, a Card processes this command without the verification of the server certificate by the root certificate.

If the server certificate is invalid in the verification by the root certificate, the command processing will fail (i.e. Response Status becomes "85h: SSL certification error").

Command ID

0024h

Arguments

Name Type Size Description
hostName ASCII character Variable The ‘hostName’ is the host name which the HTTP request message is sent to and the HTTP response message is received from. The port number "80" is used unless a proxy server is used. This value is not terminated by a null character.
appendFileName ASCII character Variable The ‘appendFileName’ is the filename and the file path from the root directory of the append file in the NAND Memory module to be sent to a server. e.g. "/DCIM/100XXXXX/YYYY1234.JPG". This value is not terminated by a null character.
message Binary data Variable The ‘message’ is the HTTP request message containing the HTTP Request Line, the HTTP message header and the HTTP message body.

Response

None.

SendHTTPMessageByFile(hostName, messageFileName, headerRemoval)

A Host requests to send an HTTP request message to the specified server. It is assumed that a Host stores the HTTP request message as a file (message file) in the NAND Memory module, containing the HTTP Request Line, the HTTP message header and the HTTP message body (optional in [HTTP]) before issuing the command. Then, a Card receives the HTTP response message containing the HTTP Response Line, the HTTP message header and the HTTP message body (optional in [HTTP]) from the server, and stores it as a file (response file) whose file name is "iSDIO command sequence id" under the "RESPONSE" directory (This operation overwrites the existing file if it exists). If a Host requests to remove the HTTP Request Line and the HTTP message header, only the HTTP message body is stored as a response file. See also 2.3 Server Upload. Note that the restriction specified by "Max Size of Command Response Data" in the Capability Register is not applied to the size of the response file created by this command.

Command ID

0025h

Arguments

Name Type Size Description
hostName ASCII character Variable The ‘hostName’ is the host name which the HTTP request message is sent to and the HTTP response message is received from. The port number "80" is used unless a proxy server is used. This value is not terminated by a null character.
messageFileName ASCII character Variable The ‘messageFileName’ is the filename and the file path from the root directory of the message file in the NAND Memory module, containing the HTTP Request Line, the HTTP message header and the HTTP message body. e.g. "/REQUEST/MESSAGE1.TXT". This value is not terminated by a null character.
headerRemoval integer 1-byte The ‘headerRemoval’ denotes whether the HTTP header is removed.
00h
The HTTP response message is stored as is.
01h
Only HTTP message body is stored by removing HTTP header.

Response

None.

SendHTTPFileByFile(hostName, messageFileName, appendFileName, headerRemoval)

The Host requests to send an HTTP request message to the specified server, attaching the file (append file). It is assumed that a Host stores the HTTP request message as a file (message file) in the NAND Memory module, containing the HTTP Request Line, the HTTP message header and the HTTP message body (optional in [HTTP]) before issuing the command. And in addition the Card replaces the pre-defined characters (i.e. "<!--WLANSDFILE-->" in [ISO 8859-1]) in the message with a specified file when the message is sent to the server.

Then, the Card receives the HTTP response message containing the HTTP Response Line, the HTTP message header and the HTTP message body (optional in [HTTP]) from the server, and stores it as a file (response file) whose file name is "iSDIO command sequence id" under the "RESPONSE" directory (This operation overwrites the existing file if it exists). If the Host requests to remove the HTTP Request Line and the HTTP message header, only the HTTP message body is stored as a response file. See also 2.3 Server Upload.

Note that the restriction specified by "Max Size of Command Response Data" in the Capability Register is not applied to the size of the response file created by this command.

Command ID

0026h

Arguments

Name Type Size Description
hostName ASCII character Variable The ‘hostName’ is the host name which the HTTP request message is sent to and the HTTP response message is received from. The port number "80" is used unless a proxy server is used. This value is not terminated by a null character.
messageFileName ASCII character Variable The ‘messageFileName’ is the filename and the file path from the root directory of the message file in the NAND Memory module, containing the HTTP Request Line, the HTTP message header and the HTTP message body. e.g. "/REQUEST/MESSAGE1.TXT". This value is not terminated by a null character.
appendFileName ASCII character Variable The ‘appendFileName’ is the filename and the file path from the root directory of the append file in the NAND Memory module to be sent to a server. e.g. "/DCIM/100XXXXX/YYYY1234.JPG". This value is not terminated by a null character.
headerRemoval integer 1-byte The ‘headerRemoval’ denotes whether the HTTP header is removed.
00h
The HTTP response message is stored as is.
01h
Only HTTP message body is stored by removing HTTP header.

Response

None.

SendHTTPSSLMessageByFile(hostName, messageFileName, headerRemoval)

The definition of this command is same as that of the "SendHTTPMessageByFile (hostName, messageFileName, headerRemoval)" except that this command requests the Card to send an HTTP request message via SSL. The port number "443" is used unless the proxy server is used. It is recommended the root certificate should be set by the "SetCertificate" or "SetCertificateByFile" command before issuing this command. If this command is issued without setting the root certificate, the Card processes this command without the verification of the server certificate by the root certificate. If the server certificate is invalid from the verification of the root certificate, the command processing shall fail (i.e. Response Status becomes "85h: SSL certification error").

Command ID

0027h

Arguments

Name Type Size Description
hostName ASCII character Variable The ‘hostName’ is the host name which the HTTP request message is sent to and the HTTP response message is received from. The port number "80" is used unless a proxy server is used. This value is not terminated by a null character.
messageFileName ASCII character Variable The ‘messageFileName’ is the filename and the file path from the root directory of the message file in the NAND Memory module, containing the HTTP Request Line, the HTTP message header and the HTTP message body. e.g. "/REQUEST/MESSAGE1.TXT". This value is not terminated by a null character.
headerRemoval integer 1-byte The ‘headerRemoval’ denotes whether the HTTP header is removed.
00h
The HTTP response message is stored as is.
01h
Only HTTP message body is stored by removing HTTP header.

Response

None.

SendHTTPSSLFileByFile(hostName, messageFileName, appendFileName, headerRemoval)

The definition of this command is same as that of the "SendHTTPFileByFile (hostName, messageFileName, appendFileName, headerRemoval)" except that this command requests a Card to send an HTTP request message via SSL.

The port number "443" is used unless the proxy server is used. It is recommended the root certificate should be set by the "SetCertificate" or "SetCertificateByFile" command before issuing this command. If this command is issued without setting the root certificate, the Card processes this command without the verification of the server certificate by the root certificate.

If the server certificate is invalid from the verification of the root certificate, the command processing shall fail (i.e. Response Status becomes "85h: SSL certification error").

Command ID

0028h

Arguments

Name Type Size Description
hostName ASCII character Variable The ‘hostName’ is the host name which the HTTP request message is sent to and the HTTP response message is received from. The port number "80" is used unless a proxy server is used. This value is not terminated by a null character.
messageFileName ASCII character Variable The ‘messageFileName’ is the filename and the file path from the root directory of the message file in the NAND Memory module, containing the HTTP Request Line, the HTTP message header and the HTTP message body. e.g. "/REQUEST/MESSAGE1.TXT". This value is not terminated by a null character.
appendFileName ASCII character Variable The ‘appendFileName’ is the filename and the file path from the root directory of the append file in the NAND Memory module to be sent to a server. e.g. "/DCIM/100XXXXX/YYYY1234.JPG". This value is not terminated by a null character.
headerRemoval integer 1-byte The ‘headerRemoval’ denotes whether the HTTP header is removed.
00h
The HTTP response message is stored as is.
01h
Only HTTP message body is stored by removing HTTP header.

Response

None.

SetCertificate(certificate)

Set a root certificate for HTTPS connections. After processing of this command, the Card shall use the given certificate for any HTTPS connection. If a root certificate has already been set, the Card shall invalidate the current one and set the given one.

Command ID

0029h

Arguments

Name Type Size Description
certificate Binary data Variable The ‘certificate’ is X.509 binary encoded with DER (Distinguished Encoding Rules). ([X.509])
Note that this value is able to be omitted ("Length of Argument" is set to "00 00 00 00h"). If omitted, the Card shall invalidate the current certificate and return to the default behavior.

Response

None.

SetCertificateByFile(certificateFileName)

Set a root certificate file stored in the NAND Memory module for HTTPS connections. After processing of this command, the Card shall use the given certificate for any HTTPS connection. If a root certificate has already been set, the Card shall invalidate the current one and set the given one.

Command ID

002Ah

Arguments

Name Type Size Description
certificateFileName ASCII character Variable The SSID of the AP to be connected. This value is not terminated by a null character.
networkKey ASCII character Variable The ‘certificateFileName’ is the filename and the file path from the root directory of the certificate file in the NAND Memory module. e.g. "/ABCDEF.CRT". This value is not terminated by a null character. The certificate file is X.509 binary encoded with DER (Distinguished Encoding Rules). ([X.509])
Note that this value is able to be omitted ("Length of Argument" is set to "00 00 00 00h"). If omitted, the Card shall invalidate the current certificate and return to the default behavior.

Response

None.